1. Field of the Invention
The present invention relates in general to a processor that is particularly suited for use as a sensor node processor in a sensor network. The processor employs event-driven architecture and is designed for reduced energy requirements. A variation of the processor can also be employed in a network simulation protocol.
2. Description of the Background Art
Our world is becoming increasingly connected and instrumented with sensors. Improvements in microelectronics and integrated systems have made possible sensor platforms (“nodes”) that are a few millimeters in dimension. Sensor networks are typically comprised of many of these low-cost nodes and can be used to gather, process and propagate a wide variety of information from the surrounding environment. Recently, interest has focused on self-configuring wireless sensor networks and the unique challenges they pose, such as managing dynamic network topologies and maximizing the lifetime of networks in the context of limited sensor-node energy budgets. The possible applications of sensor platforms are varied, and include: smart home systems monitoring temperature, humidity and movement; vibration sensors for earthquake monitoring; stress/strain sensors for monitoring materials and machines; gas sensors for detection of chemical substances; biological sensors for the detection of microorganisms and environmental monitoring; and habitat monitoring to study species in their natural environment.
One of the key issues in the design of these sensor platforms is the power consumption of each component in the node, and in the network as a whole. Nodes typically must be able to perform a combination of computation, wireless communication, and sensing. Each node also contains a power source, which can consist of a conventional battery, a renewable source that generates power using scavenging techniques (e.g. vibration based, solar based, RF based), a radioactive thin-film that generates high-energy particles, or some combination of these ideas, to name some of the possibilities. The lifetime of a sensor network is a function of the operations (computation, communication, sensing) performed by its nodes and of the amount of energy stored in its nodes' batteries.
Conventional wisdom in sensor network design typically focuses on minimizing communication, because conventional communication links consume a significant amount of energy—an amount that contains a term that is dictated by the distance the link must be able to span. However, recent developments in self-powered MEMS-based RF communication devices and in network organization can lead to sensor networks where the communication link is entirely self-powered, shifting the focus to the energy requirements of the computation being performed. The concept of sensor networks with mobile agents treats a collection of sensor nodes as a statistical entity. Instead of thinking of the communication link as something that must be reliable, the shift is to use a statistical treatment that attempts to infer properties of the network based on information from a subset of the sensor nodes and some knowledge about correlations among the monitored data values.
Most of the application development and communication-protocol design for these sensor nodes is done using network simulators. After the application and protocol software functions properly in the simulation environment, it is then deployed on the actual nodes, each of which contains at the very least a processing element, a radio interface and some way of interacting with its environment. Today's sensor nodes typically use commodity microcontrollers for their processing elements. Unfortunately, the behavior predicted by simulation may vary dramatically from that observed in the real network; researchers must typically perform several debug-and-test cycles before the sensor network actually performs as predicted, and even this has only been achieved for small networks.
Much of the complexity of deploying wireless sensor networks arises due to the disparity between the simulation and the actual hardware implementation. Even the most detailed simulation models do not accurately model the hardware limitations (such as limited message buffering, memory allocation latencies or processing-time requirements) of the actual node on which the sensor application will run. Moreover, modifying known simulation models to accurately model these factors would probably not be useful, as the time required to simulate several hundred to several-thousand nodes would become unreasonably long (and would require a great deal of memory).